<?php
session_start();
include('include/config.php');
include('include/fonctions.php');
$messageErrMail = 'Page : moyenne.php<br />';
$msgErr = '';
actualiser_session();
$connection = connexionBdd();

//on récupère la liste de tous les eleves du prof
// on met cela en session pour garder le résultat et ne plus faire la requète
if ((!isset($_SESSION['liste_eleve'])) || (empty($_SESSION['liste_eleve']))) {
    $req = $connection->prepare('SELECT `id_eleve` FROM `eleve` WHERE `id_prof`=:id');
    $req->bindParam(':id', $_SESSION['prof_id'], PDO::PARAM_INT);
    $req->execute();
    $count = $req->rowCount();
    if ($count > 0) {
        $_SESSION['liste_eleve'] = '(';
        while ($donnees = $req->fetch(PDO::FETCH_ASSOC)) {
            $_SESSION['liste_eleve'].=$donnees['id_eleve'] . ',';
        }
        $_SESSION['liste_eleve'] = substr($_SESSION['liste_eleve'], 0, strlen($_SESSION['liste_eleve']) - 1) . ')';
    } else {
        $msgErr = '<div class="error">"<em>' . $email . '</em>" n\'est pas connu.</div>';
        //si on trouve plus d'un pseudo on envoie un mail à l'admin pour le prévenir de se doublon théoriquement imposible
        if ($countSelect > 1) {
            $messageErrMail .='Attention doublon sur un mail : ' . $email . '<br/>';
            error_log($messageErrMail, 1, $mailAdmin, $enteteErrLog);
        }
    }
    $req->closeCursor();
}

function afficheMoyenne($trimestre,$precision) {
    global $connection;
    $reqAnnuel = $connection->query('SELECT `nom_eleve`, `prenom_eleve`, `nom_matiere`, ROUND(AVG(`numerique_note`), '.$precision.') AS moyenne
                                    FROM `note`
                                    NATURAL JOIN `eleve`
                                    NATURAL JOIN `matiere`
                                    WHERE `trimestre_note` = ' . $trimestre . ' AND `id_eleve` IN ' . $_SESSION['liste_eleve'] . '
                                    GROUP BY `id_eleve`, `id_matiere`
                                    ORDER BY `id_niveau`,`nom_eleve`, `prenom_eleve`, `id_domaine`, `nom_matiere`');
    $reqAnnuel->execute();
    $countAnnuel = $reqAnnuel->rowCount();
    $precedent = '';
    $pyjama = '';
    $addition = $compteur = 0;
    if ($countAnnuel > 0) {
        while ($donnees = $reqAnnuel->fetch(PDO::FETCH_ASSOC)) {
            if ($precedent != $donnees['nom_eleve']) {

                if ($compteur > 0) {
                    echo '<div class="result alignright border-top bold">Moyenne Générale</div><div class="result2 alignright border-top bold">' . round($addition / $compteur, $precision) . '</div><div class="clear"></div>';
                }

                $addition = $compteur = 0;

                if (empty($pyjama))
                    $pyjama = 'pyjama';
                else
                    $pyjama = '';

                echo '<div class="result bold border-bottom">' . stripslashes($donnees['nom_eleve']) . ' ' . stripslashes($donnees['prenom_eleve']) . '</div><div class="result2 alignright border-bottom"></div><div class="clear"></div>';
                $precedent = $donnees['nom_eleve'];
            }
            $compteur++;
            $addition += $donnees['moyenne'];
            echo '<div class="result ' . $pyjama . '">' . $donnees['nom_matiere'] . '</div><div class="result2 alignright ' . $pyjama . '">' . $donnees['moyenne'] . '</div><div class="clear"></div>';
        }
    } else {
        echo '<div class="info">Vous n\'avez aucune moyenne pour cette période.  Vous pouvez saisir des notes sur la page <a href="ajout-devoir.php">Saisir un devoir</a>.</div>';
    }
    if ($compteur>0)
        echo '<div class="result alignright border-top bold">Moyenne Générale</div><div class="result2 alignright border-top bold">' . round($addition / $compteur, $precision) . '</div><div class="clear"></div>';
    $reqAnnuel->closeCursor();
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//FR"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <title>Moyenne par élève, par matière et par trimestre</title>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />          
        <meta name="description" content="Découvrer les moyennes de vos élèves par niveau et par ordre alphabétique." />
        <meta name="keywords" content="bulletin, facile, logiciel, trimestre, scolaire, cycle, primaire, matière" />
        <meta name="author" content="Wicenty Web" />
        <link rel="icon" href="images/favicon.ico" type="image/x-icon" />
        <link rel="shortcut icon" href="images/favicon.ico" type="image/x-icon" />
        <link rel="stylesheet" href="css/style.css" />
        <link rel="stylesheet" href="css/menu.css" />
        <link rel="stylesheet" href="css/onglet.css" />
        <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
        <script>
            $(document).ready(function() {
                //  When user clicks on tab, this code will be executed
                $("#tabs li").click(function() {
                    //  First remove class "active" from currently active tab
                    $("#tabs li").removeClass('active');

                    //  Now add class "active" to the selected/clicked tab
                    $(this).addClass("active");

                    //  Hide all tab content
                    $(".tab_content").hide();

                    //  Here we get the href value of the selected tab
                    var selected_tab = $(this).find("a").attr("href");

                    //  Show the selected tab content
                    $(selected_tab).fadeIn();

                    //  At the end, we add return false so that the click on the link is not executed
                    return false;
                });
            });
        </script>
    </head>
    <body>
        <!--==============================header=================================-->
        <?php
        require_once('include/menu.php');
        ?>

        <!--==============================content================================-->
        <div class="bg1">
            <div class="bg">
                <section id="content">
                    <div class="container_12">
                        <article class="grid_12">
                            <h1>Moyenne par élève</h1>
                            <p>Retrouvez sur cette page l'ensemble des moyenne par élève et par trimestre.</p>
                        </article>
                        <article class="grid_12">
                            <div class="border-bot"></div>
                        </article>
                        <article class='grid_12'>
                            <br />
                            <div id="tabs_wrapper">
                                <div id="tabs_container">
                                    <ul id="tabs">
                                        <?php
                                        //on récupère le nombres de période de l'enseignant
                                        $req = $connection->prepare('SELECT `prof_period`,`prof_virgule` FROM `prof` WHERE `prof_id` =:id LIMIT 0 , 1');
                                        $req->bindParam(':id', $_SESSION['prof_id'], PDO::PARAM_INT);
                                        $req->execute();
                                        $donnees = $req->fetchAll(PDO::FETCH_ASSOC);
                                        $req->closeCursor();
                                        $trimestre = $donnees[0]['prof_period'];                                        
                                        //on affiche les onglets des périodes
                                        for ($i = 1; $i <= $trimestre; $i++) {
                                            if ($i == 1)
                                                echo '<li class="active"><a href="#tab' . $i . '">Période ' . $i . '</a></li>';
                                            else
                                                echo '<li><a href="#tab' . $i . '">Période ' . $i . '</a></li>';
                                        }
                                        ?>
                                    </ul>
                                </div>
                                <div id="tabs_content_container">
                                    <?php
                                    for ($i = 1; $i <= $trimestre; $i++) {
                                        //gestion du tab active
                                        if ($i == 1)
                                            echo '<div id="tab' . $i . '" class="tab_content" style="display: block;">';
                                        else
                                            echo '<div id="tab' . $i . '" class="tab_content">';
                                        afficheMoyenne($i, $donnees[0]['prof_virgule']);
                                        echo '</div>';
                                    }
                                    ?>
                                </div>
                            </div>
                        </article>
                    </div>
                </section>

                <!--==============================footer=================================-->
                <?php
//                echo '<pre>';
//                print_r($GLOBALS);
//                echo '</pre>';
                require_once 'include/footer.php';
                ?>
            </div>
        </div>
    </body>
</html>